
#ifndef TIMEOUT_H_
#define TIMEOUT_H_

#include "rtc.h"

class Timeout
{
  public:
    Timeout(void);
    Timeout(int milliseconds);
    
    void setDefaultTime(int milliseconds);
    bool timedOut(void);
    bool notTimedOut(void);
    int timeToGo(void);
    void restart(void);
    void restart(int milliseconds);

  private:
    RtcTimestamp now(void);

    RtcTimestamp timeout;
    bool timeout_odd_even;
    int default_time;

    RtcTimestamp previous_now;
    bool odd_even_cycle;
};

#endif /* TIMEOUT_H_ */
